Python 条件语句是通过一条或多条语句的执行结果(true 或者 false)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python 程序语言指定任何非0或非空(null)值为true,0或者null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
1 2 3 4
| if expression(判断条件): statement(s)(执行语句……) else: statement(s)(执行语句……)
|
注:Python 使用缩进作为其语句分组的方法,建议使用4个空格。
其中“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示统一范围。
else 为可选语句,放需要在条件不成立时,执行内容则可以执行相关语句:
1 2 3 4 5 6 7 8 9 10 11 12
| flag = False name = 'luren' if name == 'python': flag = True print 'welcome boss' else: print name
|
输出结果为:
if 语句的判断条件可以用 >(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以用以下形式:
1 2 3 4 5 6 7 8
| if expression1(判断条件1): statement1(s)(执行语句1……) elif expression2(判断条件2): statement2(s)(执行语句2……) elif expression3(判断条件3): statement3(s)(执行语句3……) else: statement(s)(执行语句……)
|
实例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| num = 5 if num == 3: print 'boss' elif num == 2: print 'user' elif num == 1: print 'worker' elif num < 0: print 'error' else: print 'roadman'
|
输出结果为:
由于 python 并不支持 switch 语句,多疑多个条件判断,只能用 elif 来实现,如果判断需要多个条件同时判断时,可以使用 or(或),表示两个条件有一个成立时判断条件成功;使用 and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| num = 9 if num >= 0 and num <= 10: print 'hello' num = 10 if num < 0 or num > 10: print 'hello' else: print 'undefine' num = 8 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print 'hello' else: print 'undefine'
|
当 if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与要优先判断。
简单的语句组
也可以在同一行的位置上使用 if 条件判断语句:
1 2 3 4 5 6 7 8
| var = 100 if ( var == 100 ) : print "变量 var 的值为100" print "Good bye!"
|
执行输出结果:
1 2
| 变量 var 的值为 100 Good bye!
|